home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #9
/
Amiga Plus CD - 2004 - No. 09.iso
/
amigaplus
/
tools
/
amigaos4_only
/
mpega_libmad
/
mpega_68k_os4.s
< prev
next >
Wrap
Text File
|
2004-08-03
|
14KB
|
485 lines
/*
** This file was automatically generated by fdtrans.
** Do not edit it by hand. Instead, edit the sfd file
** that was used to generate this file
*/
#include "exec/interfaces.i"
#include "exec/libraries.i"
#include "exec/emulation.i"
#include "mpega.i"
/* -------------------- Open ---------------------------*/
.section .data
.globl stub_Open
.type stub_Open, @function
stub_Open:
.short 0x4ef8 /* JMP.w */
.short 0 /* Indicate switch */
.short 1 /* Trap type */
.globl stub_OpenPPC
.long stub_OpenPPC
/* Register mapping */
.byte 2
.byte 1,REG68K_A7
.byte 3,REG68K_A6
.section .text
.align 4
stub_OpenPPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12,LIB_POSSIZE(r3)
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_ILibrary(r3) /* Get the real interface pointer */
CallLib lmi_Open
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_Open68K
.long stub_Open68K
.byte 0 /* Flags */
.byte 2 /* Two registers (a7 and d0) */
.byte 1 /* Map r1 */
.byte REG68K_A7 /* to A7 */
.byte 3 /* Map r3 */
.byte REG68K_D0 /* to D0 */
.section .data
.align 4
stub_Open68K:
.short 0x4e75 /* RTS */
/* -------------------- Close ---------------------------*/
.section .data
.globl stub_Close
.type stub_Close, @function
stub_Close:
.short 0x4ef8 /* JMP.w */
.short 0 /* Indicate switch */
.short 1 /* Trap type */
.globl stub_ClosePPC
.long stub_ClosePPC
/* Register mapping */
.byte 2
.byte 1 /* r1 */
.byte REG68K_A7 /* maps to a7 */
.byte 3,REG68K_A6
.section .text
.align 4
stub_ClosePPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12,LIB_POSSIZE(r3)
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_ILibrary(r3) /* Get the real interface pointer */
CallLib lmi_Close
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_Close68K
.long stub_Close68K
.byte 0 /* Flags */
.byte 1 /* One register (a7 only) */
.byte 1 /* Map r1 */
.byte REG68K_A7 /* to A7 */
.section .data
.align 4
stub_Close68K:
.short 0x4e75 /* RTS */
/* -------------------- Expunge ---------------------------*/
.section .data
.globl stub_Expunge
.type stub_Expunge, @function
stub_Expunge:
.short 0x7000 /* moveq #0, d0 */
.short 0x4e75 /* RTS */
/* -------------------- RESERVED ---------------------------*/
.section .data
.globl stub_Reserved
.type stub_Reserved, @function
stub_Reserved:
.short 0x7000 /* moveq #0, d0 */
.short 0x4e75 /* RTS */
/* -----------------------------------------------------------------
MPEGA_open (offset -30)
----------------------------------------------------------------- */
.globl stub_MPEGA_open
.type stub_MPEGA_open, @function
.section .data
stub_MPEGA_open:
.short 0x4ef8
.short 0,1
.globl stub_MPEGA_openPPC
.long stub_MPEGA_openPPC
.byte 5
.byte 1, REG68K_A7 /* r1<-A7 */
.byte 3, REG68K_A6 /* r3<-A6 */
.byte 4, REG68K_A0 /* r4<-A0 */
.byte 5, REG68K_A1 /* r5<-A1 */
.byte 6, REG68K_A4 /* r6<-A4 */
.section .text
.align 2
stub_MPEGA_openPPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12, LIB_POSSIZE(r3) /* Get the extended library pointer */
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_MainIFace(r3) /* Get the real interface pointer */
CallLib IMPEGA_MPEGA_open
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_MPEGA_open68K
.long stub_MPEGA_open68K
.byte 0 /* Flags */
.byte 2
.byte 1, REG68K_A7
.byte 3, REG68K_D0
.section .data
.align 4
stub_MPEGA_open68K:
.short 0x4e75 /* RTS */
/* -----------------------------------------------------------------
MPEGA_close (offset -36)
----------------------------------------------------------------- */
.globl stub_MPEGA_close
.type stub_MPEGA_close, @function
.section .data
stub_MPEGA_close:
.short 0x4ef8
.short 0,1
.globl stub_MPEGA_closePPC
.long stub_MPEGA_closePPC
.byte 4
.byte 1, REG68K_A7 /* r1<-A7 */
.byte 3, REG68K_A6 /* r3<-A6 */
.byte 4, REG68K_A0 /* r4<-A0 */
.byte 5, REG68K_A4 /* r5<-A4 */
.section .text
.align 2
stub_MPEGA_closePPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12, LIB_POSSIZE(r3) /* Get the extended library pointer */
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_MainIFace(r3) /* Get the real interface pointer */
CallLib IMPEGA_MPEGA_close
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_MPEGA_close68K
.long stub_MPEGA_close68K
.byte 0 /* Flags */
.byte 1
.byte 1, REG68K_A7
.section .data
.align 4
stub_MPEGA_close68K:
.short 0x4e75 /* RTS */
/* -----------------------------------------------------------------
MPEGA_decode_frame (offset -42)
----------------------------------------------------------------- */
.globl stub_MPEGA_decode_frame
.type stub_MPEGA_decode_frame, @function
.section .data
stub_MPEGA_decode_frame:
.short 0x4ef8
.short 0,1
.globl stub_MPEGA_decode_framePPC
.long stub_MPEGA_decode_framePPC
.byte 5
.byte 1, REG68K_A7 /* r1<-A7 */
.byte 3, REG68K_A6 /* r3<-A6 */
.byte 4, REG68K_A0 /* r4<-A0 */
.byte 5, REG68K_A1 /* r5<-A1 */
.byte 6, REG68K_A4 /* r6<-A4 */
.section .text
.align 2
stub_MPEGA_decode_framePPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12, LIB_POSSIZE(r3) /* Get the extended library pointer */
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_MainIFace(r3) /* Get the real interface pointer */
CallLib IMPEGA_MPEGA_decode_frame
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_MPEGA_decode_frame68K
.long stub_MPEGA_decode_frame68K
.byte 0 /* Flags */
.byte 2
.byte 1, REG68K_A7
.byte 3, REG68K_D0
.section .data
.align 4
stub_MPEGA_decode_frame68K:
.short 0x4e75 /* RTS */
/* -----------------------------------------------------------------
MPEGA_seek (offset -48)
----------------------------------------------------------------- */
.globl stub_MPEGA_seek
.type stub_MPEGA_seek, @function
.section .data
stub_MPEGA_seek:
.short 0x4ef8
.short 0,1
.globl stub_MPEGA_seekPPC
.long stub_MPEGA_seekPPC
.byte 5
.byte 1, REG68K_A7 /* r1<-A7 */
.byte 3, REG68K_A6 /* r3<-A6 */
.byte 4, REG68K_A0 /* r4<-A0 */
.byte 5, REG68K_D0 /* r5<-D0 */
.byte 6, REG68K_A4 /* r6<-A4 */
.section .text
.align 2
stub_MPEGA_seekPPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12, LIB_POSSIZE(r3) /* Get the extended library pointer */
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_MainIFace(r3) /* Get the real interface pointer */
CallLib IMPEGA_MPEGA_seek
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_MPEGA_seek68K
.long stub_MPEGA_seek68K
.byte 0 /* Flags */
.byte 2
.byte 1, REG68K_A7
.byte 3, REG68K_D0
.section .data
.align 4
stub_MPEGA_seek68K:
.short 0x4e75 /* RTS */
/* -----------------------------------------------------------------
MPEGA_time (offset -54)
----------------------------------------------------------------- */
.globl stub_MPEGA_time
.type stub_MPEGA_time, @function
.section .data
stub_MPEGA_time:
.short 0x4ef8
.short 0,1
.globl stub_MPEGA_timePPC
.long stub_MPEGA_timePPC
.byte 4
.byte 1, REG68K_A7 /* r1<-A7 */
.byte 3, REG68K_A6 /* r3<-A6 */
.byte 4, REG68K_A0 /* r4<-A0 */
.byte 5, REG68K_A1 /* r5<-A1 */
.section .text
.align 2
stub_MPEGA_timePPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12, LIB_POSSIZE(r3) /* Get the extended library pointer */
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_MainIFace(r3) /* Get the real interface pointer */
CallLib IMPEGA_MPEGA_time
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_MPEGA_time68K
.long stub_MPEGA_time68K
.byte 0 /* Flags */
.byte 2
.byte 1, REG68K_A7
.byte 3, REG68K_D0
.section .data
.align 4
stub_MPEGA_time68K:
.short 0x4e75 /* RTS */
/* -----------------------------------------------------------------
MPEGA_find_sync (offset -60)
----------------------------------------------------------------- */
.globl stub_MPEGA_find_sync
.type stub_MPEGA_find_sync, @function
.section .data
stub_MPEGA_find_sync:
.short 0x4ef8
.short 0,1
.globl stub_MPEGA_find_syncPPC
.long stub_MPEGA_find_syncPPC
.byte 4
.byte 1, REG68K_A7 /* r1<-A7 */
.byte 3, REG68K_A6 /* r3<-A6 */
.byte 4, REG68K_A0 /* r4<-A0 */
.byte 5, REG68K_D0 /* r5<-D0 */
.section .text
.align 2
stub_MPEGA_find_syncPPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12, LIB_POSSIZE(r3) /* Get the extended library pointer */
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_MainIFace(r3) /* Get the real interface pointer */
CallLib IMPEGA_MPEGA_find_sync
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_MPEGA_find_sync68K
.long stub_MPEGA_find_sync68K
.byte 0 /* Flags */
.byte 2
.byte 1, REG68K_A7
.byte 3, REG68K_D0
.section .data
.align 4
stub_MPEGA_find_sync68K:
.short 0x4e75 /* RTS */
/* -----------------------------------------------------------------
MPEGA_scale (offset -66)
----------------------------------------------------------------- */
.globl stub_MPEGA_scale
.type stub_MPEGA_scale, @function
.section .data
stub_MPEGA_scale:
.short 0x4ef8
.short 0,1
.globl stub_MPEGA_scalePPC
.long stub_MPEGA_scalePPC
.byte 4
.byte 1, REG68K_A7 /* r1<-A7 */
.byte 3, REG68K_A6 /* r3<-A6 */
.byte 4, REG68K_A0 /* r4<-A0 */
.byte 5, REG68K_D0 /* r5<-D0 */
.section .text
.align 2
stub_MPEGA_scalePPC:
addi r12, r1, -16 /* Calculate stackframe size */
rlwinm r12, r12, 0, 0, 27 /* Align it */
stw r1, 0(r12) /* Store backchain pointer */
mr r1, r12 /* Set real stack pointer */
stw r11,12(r1) /* Store Enter68kQuick vector */
lhz r12, LIB_POSSIZE(r3) /* Get the extended library pointer */
add r3, r3, r12 /* by addind posSize */
lwz r3, ExtLib_MainIFace(r3) /* Get the real interface pointer */
CallLib IMPEGA_MPEGA_scale
lwz r11,12(r1)
mtlr r11
lwz r1, 0(r1) /* Cleanup stack frame */
blrl /* Return to emulation */
.globl stub_MPEGA_scale68K
.long stub_MPEGA_scale68K
.byte 0 /* Flags */
.byte 2
.byte 1, REG68K_A7
.byte 3, REG68K_D0
.section .data
.align 4
stub_MPEGA_scale68K:
.short 0x4e75 /* RTS */
.globl Vector68K
.globl VecTable68K
Vector68K:
.long VecTable68K
.globl VecTable68K
VecTable68K:
.long stub_Open
.long stub_Close
.long stub_Expunge
.long stub_Reserved
.long stub_MPEGA_open
.long stub_MPEGA_close
.long stub_MPEGA_decode_frame
.long stub_MPEGA_seek
.long stub_MPEGA_time
.long stub_MPEGA_find_sync
.long stub_MPEGA_scale
.long -1